Vehicles are increasingly incorporating electric machines such as motors and generators to reduce weight, improve performance, and/or reduce cost. For example, power steering systems are increasingly being designed with electric motors. Future automobiles such as hybrid electric and fuel-cell vehicles are expected to use variable speed electric motor drives to improve fuel efficiency. Vehicles are capable of using different types of electric machines in a particular application. The electric machines that may be used can have different ratings and/or other operating parameters.
Typically, an electronic controller is used to control the electric machine. The electric machine and a machine controller are usually packaged separately due to concerns about thermal damage to the machine controller and other environmental factors that affect packaging. To achieve optimum performance, the machine controller must be configured to operate the electric machine. To be configured properly, the machine controller requires machine ratings, electrical and mechanical parameters, and/or other operating parameters for the electric machine. The ratings and/or operating parameters are usually entered into the machine controller memory manually. Without prior knowledge of the machine parameters, it may be necessary for the controller to be manually configured using trial and error. When the maximum ratings of the electric machine are not known, the maximum ratings can be exceeded when run from an improperly configured controller, which may cause damage.
As the vehicle ages, the electric machine may fail. The replacement electric machine may differ from the original electric machine in both its type and its electromagnetic/mechanical parameters. The ratings and/or other operating parameters stored in memory may no longer be valid. In this case, the configuration data stored in memory may have to be manually overwritten with new data by a qualified technician.
In one conventional approach, a computer uses steps programmed in memory to efficiently start a motor and to prevent overloading. The function is customized to work with different motors by storing the steps necessary for each motor in memory. A library is composed of different motor configurations. The programs are loaded when one of the motors is used. However, the programs need to be manually loaded in the memory each time a new motor is used by providing information on the exact model of motor being used. In addition, the programs are not updated during operation to compensate for changes in the operation of the device.